/**
 * 泛型接口
 * 泛型接口和泛型类一样，泛型接口在接口名后添加类型参数，
 * 接口声明类型后，接口的成员属性和方法就可以直接使用这个类型。
 */
void main(List<String> args) {
  DB<MySQL> dbMySQL = DB();
  DB<MsSQL> dbMsSQL = DB();

}
class MySQL {
  //定义MySQL数据库的操作或属性
}
class MsSQL {
  //定义MySQL数据库的操作或属性
}
class MoSQL {
  //定义MoSQL数据库的操作或属性
}
abstract class OperateDB<T> {
  T currentRecords;
  T gerRecord(int index);
  bool insertRecord(int index,T mySQL);
}
class DB<T> implements OperateDB<T>{
  DB(){
    print('正在使用的是$T 类型数据库');
  }
  @override
  T currentRecords;
  @override
  T gerRecord(int index){

  }
  @override
  bool insertRecord(int index,T mySQL){

  }
}